package main

import (
	"fmt"
	"math"
)

func Sqrt(x float64) float64 {
	//z := 1.0
	z := x / 2
	//var delta float64
	//for i := 0; i < 10; i++ {
	for {
		//delta = (z * z - x ) / (2 * z)
		//if math.Abs(delta) < math.Pow10(-10) {
		if math.Abs(z*z-x) < math.Pow10(-13) {
			break
		}
		z -= (z*z - x) / (2 * z)
		fmt.Println(z)
	}
	return z
}

func main() {
	fmt.Println(Sqrt(7))
	fmt.Println(math.Sqrt(7))
}
